/**
 * @author        Nicolas Bottarini <nicolasbottarini@gmail.com>, 404 <http://www.proyecto404.com>
 * @version       $Rev: 3 $
 * @lastrevision  $Date: 2011-09-12 16:45:37 +0000 (Mon, 12 Sep 2011) $	 
 */
package com.proyecto404.core.collections {
	import com.proyecto404.core.IBaseObject;
	
	public interface IDictionary extends IBaseObject, IIterable {
		
		function count():int;
		
		function isEmpty():Boolean;
		
		function containsKey(key:String):Boolean;
		
		function containsValue(value:*):Boolean;
		
		function clear():void;
		
		function add(key:String, value:*):void;

		function addFromDictionary(dictionary:Dictionary):void;
		
		function removeKey(key:String):void;
		
		function asReadOnly():ICollection;
		
		function get(key:String):*;
		
		function getKeys():ICollection;
		
		function getValues():ICollection;
	}
}